home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Suzy B Software 2
/
Suzy B Software CD-ROM 2 (1994).iso
/
stos
/
stos_67
/
tsearch.s
< prev
Wrap
Text File
|
1985-11-19
|
1KB
|
54 lines
**************************************
* *
* Tile Search Routine. For TOME *
* Checks in area x1,y1-x2,y2 for *
* 1st Occurence of Tile *
* returns with Dreg(0)=-1 if not *
* Found, Dreg(0)=X+Y*xsize if found *
**************************************
* Enter with D0=x1,d1=y1,d2=x2,d3=y2,d4=Tile,a0=address of map
xsize equ 0
ysize equ 2
x1 equ 4
y1 equ 6
x2 equ 8
y2 equ 10
tile equ 12
lea darta(pc),a6
move.w 0(a0),xsize(a6)
move.w 2(a0),ysize(a6)
move.w d0,x1(a6)
move.w d1,y1(a6)
move.w d2,x2(a6)
move.w d3,y2(a6)
move.b d4,tile(a6)
add.l #4,a0
yloop move.w x1(a6),d0
move.w xsize(a6),d2
move.w d1,d3
mulu d2,d3
move.l a0,a1
add.l d3,a1
move.b tile(a6),d3
xloop move.b 0(a1,d0),d2
cmp.b d2,d3
beq gottit
addq.w #1,d0
move.w x2(a6),d2
cmp.w d0,d2
bne xloop
addq.w #1,d1
move.w y2(a6),d2
cmp.w d1,d2
bne yloop
move.w #-1,d0
rts
gottit move.w xsize(a6),d2
mulu.w d1,d2
add.w d2,d0
rts
darta ds.w 8